// pages/index/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: null,
    hasUserInfo: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 检查用户是否已经授权
    // wx.getSetting({
    //   success: res => {
    //     if (res.authSetting['scope.userInfo']) {
    //       this.getUserInfo();
    //     }
    //   }
    // });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  // 开始游戏
  startGame() {
    // 检查是否需要新手引导
    const isFirstTime = !wx.getStorageSync('hasPlayed');
    
    if (isFirstTime) {
      wx.showModal({
        title: '游戏说明',
        content: '点击相同的图案进行消除，两个相同图案之间的连线转弯不能超过2次。准备好了吗？',
        confirmText: '开始游戏',
        cancelText: '再看看',
        success: (res) => {
          if (res.confirm) {
            wx.setStorageSync('hasPlayed', true);
            this.navigateToGame();
          }
        }
      });
    } else {
      this.navigateToGame();
    }
  },

  // 跳转到游戏页面
  navigateToGame() {
    wx.navigateTo({
      url: '/pages/game/index',
      fail: (err) => {
        wx.showToast({
          title: '进入游戏失败',
          icon: 'none'
        });
        console.error('跳转失败：', err);
      }
    });
  },

  // 跳转到排行榜
  goToRank() {
    wx.navigateTo({
      url: '/pages/rank/index',
      fail: (err) => {
        wx.showToast({
          title: '打开排行榜失败',
          icon: 'none'
        });
      }
    });
  },

  // 跳转到设置页面
  goToSettings() {
    wx.navigateTo({
      url: '/pages/settings/index',
      fail: (err) => {
        wx.showToast({
          title: '打开设置失败',
          icon: 'none'
        });
      }
    });
  },

  // 获取用户信息
  getUserInfo() {
    wx.getUserProfile({
      desc: '用于完善用户资料',
      success: (res) => {
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        });
        // 保存用户信息到本地存储
        wx.setStorageSync('userInfo', res.userInfo);
      },
      fail: (err) => {
        console.log('获取用户信息失败', err);
        wx.showToast({
          title: '获取用户信息失败',
          icon: 'none'
        });
      }
    });
  },

  // 检查游戏状态
  checkGameStatus() {
    const lastGame = wx.getStorageSync('lastGame');
    if (lastGame && lastGame.inProgress) {
      wx.showModal({
        title: '继续游戏',
        content: '检测到未完成的游戏，是否继续？',
        success: (res) => {
          if (res.confirm) {
            wx.navigateTo({
              url: '/pages/game/index?restore=true'
            });
          } else {
            // 清除上次游戏记录
            wx.removeStorageSync('lastGame');
            this.startGame();
          }
        }
      });
    } else {
      this.startGame();
    }
  },

  startNormalGame() {
    wx.navigateTo({
      url: '/pages/game/index'
    });
  },

  startHardGame() {
    wx.navigateTo({
      url: '/pages/hardgame/index'
    });
  },

  startUltimategame() {
    wx.navigateTo({
      url: '/pages/ultimategame/index'
    });
  }
})